import request from '@/config/axios'

// 通讯口配置 VO
export interface CommPortVO {
  id: number // 主键ID
  portName: string // 通讯口名称
  baudRate: string // 波特率
  dataBits: string // 数据位
  parity: string // 校验位
  flowControl: string // 停止位
  subTopics: string // 流控制（可选）
  description: string // 描述
}

// 通讯口配置 API
export const CommPortApi = {
  // 查询通讯口配置分页
  getCommPortPage: async (params: any) => {
    return await request.get({ url: `/mqtt/comm-port/page`, params })
  },

  // 查询通讯口配置详情
  getCommPort: async (id: number) => {
    return await request.get({ url: `/mqtt/comm-port/get?id=` + id })
  },

  // 新增通讯口配置
  createCommPort: async (data: CommPortVO) => {
    return await request.post({ url: `/mqtt/comm-port/create`, data })
  },

  // 修改通讯口配置
  updateCommPort: async (data: CommPortVO) => {
    return await request.put({ url: `/mqtt/comm-port/update`, data })
  },

  // 删除通讯口配置
  deleteCommPort: async (id: number) => {
    return await request.delete({ url: `/mqtt/comm-port/delete?id=` + id })
  },

  // 导出通讯口配置 Excel
  exportCommPort: async (params) => {
    return await request.download({ url: `/mqtt/comm-port/export-excel`, params })
  },

  // 获取通讯口配置精简列表
  simpleList: async () => {
    return await request.get({ url: `/mqtt/comm-port/simple-list` })
  }
}
